Telegram Group & Telegram Channel
🔧 How to: настраиваем GitLab CI/CD для мобильных тестов

Ручные сборки и деплой занимают время, а человеческий фактор может привести к ошибкам. Автоматизируем процесс!

1️⃣ Создаём .gitlab-ci.yml

Файл .gitlab-ci.yml – сердце CI/CD в GitLab. Здесь описываем, какие тесты и когда запускать.

Пример пайплайна для Android (Appium + Pytest):

stages:
- test

variables:
ANDROID_HOME: "/sdk"
PATH: "$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

test_ui:
stage: test
image: python:3.9
before_script:
- pip install -r requirements.txt
script:
- pytest tests/ui_tests --junitxml=report.xml
artifacts:
paths:
- report.xml


Что тут происходит?
✔️ stages: Определяем этапы (у нас пока только test).
✔️ variables: Переменные среды (Android SDK и путь к эмулятору).
✔️ test_ui: Джоб, который запускает UI-тесты.
✔️ image: Используем докер-образ с Python 3.9.
✔️ before_script: Устанавливаем зависимости перед запуском.
✔️ script: Запускаем тесты.
✔️ artifacts: Сохраняем отчёт о тестах.

2️⃣ Подключаем GitLab Runner

Чтобы GitLab выполнял тесты, нужен Runner – агент, который их запускает.

Запускаем Runner на своём сервере

➡️ Устанавливаем GitLab Runner:

sudo curl -L --output /usr/local/bin/gitlab-runner \
"https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
sudo chmod +x /usr/local/bin/gitlab-runner


➡️ Регистрируем Runner:


gitlab-runner register


Вводим URL репозитория и токен (берём в Settings → CI/CD → Runners).

➡️ Запускаем Runner:


gitlab-runner start


Теперь тесты будут выполняться прямо на твоей машине или сервере.

3️⃣ Добавляем Android-эмулятор в пайплайн
Если нужно гонять тесты на Android:

test_android:
stage: test
image: budtmo/docker-android:emulator_11.0
before_script:
- start-emulator
- adb wait-for-device
script:
- pytest tests/android_tests


✔️ budtmo/docker-android – докер-контейнер с эмулятором Android.
✔️ start-emulator – запускаем эмулятор.
✔️ adb wait-for-device – ждём, пока устройство загрузится.

4️⃣ Автоматизация сборки APK/IPA

Чтобы собирать APK (Android) или IPA (iOS) в GitLab CI/CD:

Android (Gradle)
build_apk:
stage: build
image: openjdk:11
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/apk/debug/app-debug.apk


iOS (Fastlane)
build_ios:
stage: build
image: circleci/macos-xcode
script:
- bundle exec fastlane build
artifacts:
paths:
- build/ios.ipa


Какой CI/CD используете вы? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/mobileproglib/5890
Create:
Last Update:

🔧 How to: настраиваем GitLab CI/CD для мобильных тестов

Ручные сборки и деплой занимают время, а человеческий фактор может привести к ошибкам. Автоматизируем процесс!

1️⃣ Создаём .gitlab-ci.yml

Файл .gitlab-ci.yml – сердце CI/CD в GitLab. Здесь описываем, какие тесты и когда запускать.

Пример пайплайна для Android (Appium + Pytest):

stages:
- test

variables:
ANDROID_HOME: "/sdk"
PATH: "$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

test_ui:
stage: test
image: python:3.9
before_script:
- pip install -r requirements.txt
script:
- pytest tests/ui_tests --junitxml=report.xml
artifacts:
paths:
- report.xml


Что тут происходит?
✔️ stages: Определяем этапы (у нас пока только test).
✔️ variables: Переменные среды (Android SDK и путь к эмулятору).
✔️ test_ui: Джоб, который запускает UI-тесты.
✔️ image: Используем докер-образ с Python 3.9.
✔️ before_script: Устанавливаем зависимости перед запуском.
✔️ script: Запускаем тесты.
✔️ artifacts: Сохраняем отчёт о тестах.

2️⃣ Подключаем GitLab Runner

Чтобы GitLab выполнял тесты, нужен Runner – агент, который их запускает.

Запускаем Runner на своём сервере

➡️ Устанавливаем GitLab Runner:

sudo curl -L --output /usr/local/bin/gitlab-runner \
"https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
sudo chmod +x /usr/local/bin/gitlab-runner


➡️ Регистрируем Runner:


gitlab-runner register


Вводим URL репозитория и токен (берём в Settings → CI/CD → Runners).

➡️ Запускаем Runner:


gitlab-runner start


Теперь тесты будут выполняться прямо на твоей машине или сервере.

3️⃣ Добавляем Android-эмулятор в пайплайн
Если нужно гонять тесты на Android:

test_android:
stage: test
image: budtmo/docker-android:emulator_11.0
before_script:
- start-emulator
- adb wait-for-device
script:
- pytest tests/android_tests


✔️ budtmo/docker-android – докер-контейнер с эмулятором Android.
✔️ start-emulator – запускаем эмулятор.
✔️ adb wait-for-device – ждём, пока устройство загрузится.

4️⃣ Автоматизация сборки APK/IPA

Чтобы собирать APK (Android) или IPA (iOS) в GitLab CI/CD:

Android (Gradle)
build_apk:
stage: build
image: openjdk:11
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/apk/debug/app-debug.apk


iOS (Fastlane)
build_ios:
stage: build
image: circleci/macos-xcode
script:
- bundle exec fastlane build
artifacts:
paths:
- build/ios.ipa


Какой CI/CD используете вы? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/mobileproglib/5890

View MORE
Open in Telegram


Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck Telegram | DID YOU KNOW?

Date: |

That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.

Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM USA